package common.core;

import io.jsonwebtoken.Claims;

public class JwtPayloadHolder {

    /**
     * 描述: 使用threadlocal存储此账户信息，暂时包括： userId，role
     * 作者: lljm
     * 日期: 2024/6/6
     */

    private static final ThreadLocal<Claims> threadLocal = new ThreadLocal<>();

    /**
     * 描述: 设置账户信息
     * 作者: lljm
     * 日期: 2024/6/6
     */
    public static void setPayload(Claims payload) {
        threadLocal.set(payload);
    }

    /**
     * 描述: 获取账户信息
     * 作者: lljm
     * 日期: 2024/6/6
     */
    public static Claims getPayload() {
        return threadLocal.get();
    }

    /**
     * 描述: 清除账户信息
     * 作者: lljm
     * 日期: 2024/6/6
     */
    public static void clear() {
        threadLocal.remove();
    }
}
